1. Field of the Invention
The present invention concerns an ISDN (Integrated Services Digital Network) multiprotocol communications controller. The communications controller is used in particular in data transmission network terminal equipments where data are routed through a type S.sub.2 communication link defined by European standard ECMA 104 (European Computer Manufacturers Association), each terminal being connected through this link to a digital automatic telephone branch exchange.
2. Discussion of the Prior Art
It is known that a wide area data service is made up of a multiplicity of devices generally called "Data Terminal Equipment," (DTE) which are also commonly called terminals or stations or language facility stations. These terminals can be formed from computers, or any type of telephone set. These data terminals communicate with one another via a transmission system or transmission line made up, for example, of two pairs of telephone wires (one for transmission and the other for reception) or, alternatively, a coaxial cable. The transmission line physically connects the geographical locations where the terminals are located.
Local area networks are communications networks restricted to premises limited in area (business premises, industrial plant, campus, hospital) where the distances between the various terminals are on the order of a few meters or scores of meters to a few kilometers.
The various stations or terminals of a network transmit data messages and receive messages transmitted by the other stations. An individual message is called a data frame. The data frame is structured and includes information such as a start of frame delimiter, an end of frame delimiter, the address of the terminal to which the message is addressed, the address of the source terminal, the length of the data, and the useful data. In other words, the data frame is the elementary block of data transmitted by any terminal transmitting over the transmission line.
The rules of access to the various terminals that control the dialogue between these terminals define what is commonly called a protocol. A protocol constitutes a system that schedules communication between the terminals without hierarchical layering of the communication.
Various types of protocols are known. One of the most widely used protocols is the HDLC protocol ("High Level Data Link Control"), standardized according to CCITT (Consultative Committee in International Telegraphy and Telephony) Recommendation X25, Yellow Book, Section XIII. Nov. 2, 1980, and according to the international standards defined by the International Organization for Standardization, called ISO, under the following designations: IS3309-2, IS4335, IS6159 and 6256.
There also exists a protocol defined by the European standard ECMA 102 (and also by CCITT under the designation V110), that tends to be used more and more of late.
A terminal comprises two essential functional parts--namely, the data source or receiver, and, the communications controller that forms the link between the circuits which carry out the terminal's communication functions and the other terminals. The circuits which perform the terminal's communication functions implement, in particular, protection against data transmission errors and introduces special data called housekeeping data that make it possible to guarantee the communication between the various terminals. The communications controller may, or may not, constitute a subsystem physically dissociable from the terminal's data processing units. Generally, between the communications controller and the transmission medium there is also included data circuit terminating equipment (DCE), which is a device charged, in particular, with ensuring compatibility between the transmission media and the electrical signal delivered by the terminal. This function is implemented in current practice by the modulation demodulation of an auxiliary carrier signal in a device called a "MODEM."
The entire data exchanged between the various terminals are usually in the form of a set of coded binary data (bits).
Generally speaking, the data transmitted by the data source are in the form of sets of eight bits, called bytes, which are parallel transmitted. On the other hand, data bits within bytes are serial-transmitted by the transmission line. Therefore, the controller transforms parallel data bytes into serial data bytes. The controller also has multiplexing functions, that is to say, it can simultaneously serial transmit several different communications over the same transmission line.
The trend of the technological development of networks and the rapid development of the use of minicomputers has led to the us of programmed communications controllers called front end processors.
A front end processor is implemented using a microprocessor connected to one or more memories. The function of the front end processor in the system is to reduce the load on the central processing unit of the computer by carrying out a part of the handling of the messages transmitted by the various terminals belonging to this system.
The front end processor is distinguished by the following:
System software much more simple than that of the central processing unit, containing dedicated modules that make it possible to control the transmission line interlinking the terminals of the computer and the network's line and having facilities for forming message queues (in main memory or auxiliary memory).
In addition, this software has to provide for the simultaneous execution of a great number of processes:
The input and output functions are implemented in order to rapidly control numerous interrupts, which implementation implies very efficient facilities for switching the microprocessor's environment, as well as multiple interrupt levels.
In other words, the front end processor implements telecommunications network control functions, that is to say, control of the network's lines and terminals, and provides for the temporary storage of messages in the front-end processor memory. The mode of connection of the front end processor to the central processor and the allocation of the workload between them varies according to the manufacturer. For instance, in the computer bearing the trade name the DPX 2000 from the BULL, S.A., company, the communications controller consists of a basic controller that receives data coming from the computer's central processor or from the various terminals dependent on this computer and controls the higher communications layers (primarily, layers 3 to 7) of the OSI (Open System Interconnection) reference model defined by the ISO (data storage, resource and data sharing, access control, queuing, fall back, recovery, etc.), and of a peripheral device disposed between the basic controller and the data circuit terminating equipment (DCE), which is connected to the transmission line. The peripheral device carries out the control of communications between the basic controller and the other terminals of the network (other than those directly connected to the computer), as well as the time division multiplexing and demultiplexing of the various data channels of the link between the terminal and the automatic branch exchange (layer 2 of the ISO model). It will be noted that an automatic digital telephone branch exchange of the private type is also called a PABX.
One current technological development trend in the field of data transmission network is the concentration of telephone traffic and data communications and, more generally, all digital traffic, upon a common infrastructure. This is due primarily to the gradual introduction of digital techniques in the telephone network for switching and transmission between switches on the one hand and for the servicing and connection of subscribers on the other. This is the aim of the Integrated Services Digital Network (ISDN).
The Integrated Services Digital Network makes it possible to offer the following in addition t digital telephony:
A greater variety of data communication applications, in particular, those that necessitate the transfer of files in a short time.
The multiplexing, on the same subscriber line, of different low-speed channels carrying several concurrent data communication streams, or, alternatively, remote warning, telemetering or remote control signals.
The transmission of fixed images with enhanced quality and speed, for example, high speed telefax.
The prospect of transmission in the near future (from now to 1995) of moving pictures (television, video telephone, video conferencing, etc.).
The ISDN is intended to be used mainly in Europe and in France in particular. Due to this application, the ISDN includes a certain number of interfaces standardized according to ECMA standards. For data communication between computers and PABXs, the most interesting interface is the interface called the S.sub.2, defined by European standard ECMA 104. The S.sub.2 interface is also called a type S.sub.2 communication link. Accordingly, this link uses a telephone transmission line as the physical transmission medium.
A type S.sub.2 link has a speed of 2048 megabits per second (Mb/s) and includes 32 discrete channels, namely 30 channels called type B channels for data communication at a speed of 64 kilobits per second (kb/s), one channel called a type D channel for signaling at 64 kb/s, and one frame alignment channel whose speed is also 64 kb/s. The principle of the S.sub.2 link is time division multiplexing, each time channel constituting a discrete communication channel. The time division multiplexing of the various channels means that between two successive samples of the same channel there are 125 microseconds available to transmit 8-bit (1 byte) words which constitute the coded values of the samples. Accordingly, multiplexing consists in assigning within a 125-microsecond time interval a 3.9 microsecond time interval for each sample of one channel. The various interleaved samples are transmitted serially, the same i-th channel presenting itself every 125 microseconds. For instance, a set of 32 bytes having a duration of 125 microseconds is formed, which will be designated by the name "time frame" (not to be confused with the data frame defined above). In practice, the utilization of time multiplexing necessitates the presence of a lockword transported by the frame alignment channel that allows the receiver to register the start of-frame and accordingly align the different channels.
In other words, the entire time frame is made up of 32 8-bit time slots (ITs) labeled from 0 to 31, or time slots IT.sub.0 to IT.sub.31. Time slot IT.sub.0 indicates the beginning of the time frame and time slot IT.sub.16 carries the signaling for the set of data channels. This signaling channel, channel D, (to which time slot IT.sub.16 corresponds) makes it possible to know the identity and nature of each party (that is to say, of each terminal or each computer), as well as the type of protocol on each of the other channels, and the total load necessary for processing the particular set of the link (because all channels are not necessarily used at the same moment).
Accordingly, it is thus seen that each data channel, during each time slot, transports 8 bits every 125 microseconds, that is to say, 8.times.8000=64 kb/s. The overall line rate is therefore equal to the sum of all the rates of the 32 channels, or 64.times.32=2048 kb/s.
Each channel is designed to carry communications using any type of communication protocol whatever and any type of data coding whatever. The most frequently used protocols are the HDLC protocol or the ECMA 102 protocol. This means that serial data coming from different terminals, for example, can be transmitted with different communication protocols over the same data channel. This means that the protocols can be different from one channel to another, and that the protocols used in the same channel over the course of time can also be different.
According to the requirements necessary in the exchange of messages between terminals connected by a type S.sub.2 link, it can be necessary for the communications controller of a computer to control one S.sub.2 link in its system, or, on the contrary, to control several type S.sub.2 links in which just a particular number of data channels are being used. Accordingly, the communications controller must have as a main property great versatility and high speed.
The ECMA 104 standard being a recent one, communications controllers controlling a type S.sub.2 link are rare.
Current solutions lie in the use of dedicated components, that is to say, dedicated communications controllers, each controlling a finite number of channels according to a given particular protocol. An example of a dedicated communications controller may be found in the controller made by the SIEMENS firm, whose trade name is the ITA and which controls a single ECMA 102 channel. Moreover, the physical interface between the transmission line and the communications controller is integrated within the ITA controller itself. Consequently, the use of dedicated components for controlling a specific protocol implies the dedication of controllers, and it is necessary to have as many controllers as protocols to control, which is rather awkward and expensive.
Moreover, there is no dedicated component for protocols that are specific to a given manufacturer or for protocols which have only been recently standardized.
In the present state of the state of the art, in order to make a communications controller that is able to control one or more type S.sub.2 links, it is accordingly necessary to put together a set of dedicated components, each of which is tailored to the handling of a specific protocol. This is not very practical and is cumbersome and expensive.